package com.chaos.eurekaproducer.leetCode;

import com.chaos.eurekaproducer.basic.TreeNode;

/**
 * @author liaopeng
 * @title: Offer28
 * @projectName eureka-producer
 * @description:
 * 请实现一个函数，用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样，那么它是对称的。
 *
 * 例如，二叉树 [1,2,2,3,4,4,3] 是对称的。
 *
 *     1
 *    / \
 *   2   2
 *  / \ / \
 * 3  4 4  3
 * 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
 *
 *     1
 *    / \
 *   2   2
 *    \   \
 *    3    3
 *
 *
 * 二叉树对称的定义：
 * 对于树中 任意两个对称节点 L和R,一定有：
 *     1
 *    / \
 * 2(L) 2(R)
 *  / \ / \
 * 3  4 4  3
 * L.val=R.val
 * L.left.val = R.right.val
 * L.right.val = R.left.val
 *
 * @date 2021/6/11下午5:14
 */
public class Offer28 {
    public boolean isSymmetric(TreeNode root) {
        if (root==null){
            return true;
        }
        return rec(root.getLeft(),root.getRight());
    }

    public static boolean rec(TreeNode l,TreeNode r){
        if (l==null && r==null) return true;
        return false;
    }


    public static void main(String[] args) {
        int[] preorder = new int[]{3,9,20,15,7};
        int[] inorder = new int[]{9,3,15,20,7};
        TreeNode treeNode = Offer07.buildTreeNode(preorder, inorder);

    }
}
